****************************************************************************
* Nome do Arquivo: 		codigo_eseb06.do
* Data:			 		23/03/2020
* Autor: 				Fred Batista
* Prop�sito: 			An�lise do ESEB 2006
* Dados: 				ESEBbrail2006.dta
* Output:				-	*/
****************************************************************************

* VARI�VEIS DO QUESTION�RIO NO BANCO

* Sexo: Q8
* Idade; Q9
* Escolaridade: Q11
* Status socioeconomico: Q14- Q28
* Classe: Q31
* avalia��o do governo: Q51
* gosta de partido: Q57
* rejei��o PT: Q128
* rejei��o PSDB Q130
* PT direita-esquerda: Q77
* PSDB direita-esquerda: Q79
* PMDB direita-esquerda: Q81
* Lula direita esquerda: Q83
* Alckmin direita esquerda: Q84
* Heloisa direita esquerda: Q85
* auto-localiza��o: Q89
* voto 2o turno: Q100
* regi�o: Q180
* conhecimento: Q176-179
* pesos: Q186, Q187

*****

* RECODIFICA��O

* homem

gen homem = 2- Q8

* idade

gen idade = (Q9 - 16)/(85 - 16)

* escolaridade

gen escolaridade = (Q11 - 1)/7

* classe

gen classe = (7 - Q31)/5

* avalia��o de governo

gen avgov = Q51 
recode avgov (77 99=.)
replace avgov = 4 - avgov

* gosta pt

gen gostapt = Q57
recode gostapt (13=1) (else=0)

* gosta psdb

gen gostapsdb = Q57
recode gostapsdb (45=1) (else=0)

* rejeita pt

gen rejeitapt = Q128
recode rejeitapt (0=1) (1=0) (else=0)

* rejeita psdb

gen rejeitapsdb = Q130
recode rejeitapsdb (0=1) (1=0) (else=0)

* voto 2o turno

gen voto = Q100
recode voto (1=0) (2=1) (else=.)

* regiao

gen regiao = Q180

* ideologia pt

gen pt_de = Q77
recode pt_de (11 55 77 88 99=.)

* localiza pt 

gen loc_pt = pt_de
recode loc_pt (.=0) (else=1)

* ideologia psdb

gen psdb_de = Q79
recode psdb_de (11 55 77 88 99=.)

* localiza psdb

gen loc_psdb = psdb_de
recode loc_psdb (.=0) (else=1)

* ideologia pmdb

gen pmdb_de = Q81
recode pmdb_de (11 55 77 88 99=.)

* localiza pmdb

gen loc_pmdb = pmdb_de
recode loc_pmdb (.=0) (else=1)

* ideologia lula

gen lula_de = Q83
recode lula_de (11 55 77 88 99=.)

* localiza lula

gen loc_lula = lula_de
recode loc_lula (.=0) (else=1)

* ideologia alckmin

gen alck_de = Q84
recode alck_de (11 55 77 88 99=.)

* localiza alckmin

gen loc_alck = alck_de
recode loc_alck (.=0) (else=1)

* ideologia heloisa

gen helo_de = Q85
recode helo_de (11 55 77 88 99=.)

* localiza heloisa

gen loc_helo = helo_de
recode loc_helo (.=0) (else=1)

* ideologia respondente

gen resp_de = Q89
recode resp_de (66 77 99=.)

gen resp_de01 = resp_de/10

* localiza respondente

gen loc_resp = resp_de
recode loc_resp (.=0) (else=1)

* localiza todos

gen loc_geral = 0
replace loc_geral = 1 if loc_pt==1 & loc_psdb==1 & loc_pmdb==1 & loc_alck==1 & loc_lula==1 & loc_helo==1

* psdb a esquerda de pt

gen psdbpt_ord = 1
replace psdbpt_ord = 0 if psdb_de <= pt_de

* polarizacao psdb pt

gen dist_psdbpt = psdb_de - pt_de

* polarizacao alck lula

gen dist_alcklula = alck_de - lula_de

* preenche todos os requisitos

gen todosreq = 0
replace todosreq = 1 if loc_resp==1 & loc_geral==1 & psdbpt_ord ==1

* conhecimento

gen item1 = Q176
recode item1 (2=1) (1=0) (else=0)

gen item2 = Q177
recode item2 (1=1) (else=0)

gen item3 = Q178
recode item3 (2=1) (1=0) (else=0)

gen item4 = Q179
recode item4 (1=1) (else=0)

alpha item1 item2 item3 item4

gen conhecimento = (item1 + item2 + item3 + item4)/4

egen conhe_g = cut(conhecimento), group(2)

factor item1 item2 item3 item4, factor(1)

predict conhecimento2 

summarize conhecimento2

replace conhecimento2 = (conhecimento2 - r(min))/(r(max) - r(min))

* AN�LISE

* requisito 1

tab loc_resp [aweight=Q187]

probit loc_resp conhecimento escolaridade classe idade homem i.regiao [pweight=Q187]

margins, dydx(conhecimento)

* requisitos 1 e 2

tab loc_geral [aweight=Q187]

probit loc_geral conhecimento escolaridade classe idade homem i.regiao [pweight=Q187]

margins, dydx(conhecimento)

* requisito 3: psdb pt

tab psdbpt_ord [aweight=Q187]

probit psdbpt_ord conhecimento escolaridade classe idade homem i.regiao [pweight=Q187]

margins, dydx(conhecimento)

* preenchimento dos 3 requisitos

tab todosreq [aweight=Q187]

probit todosreq conhecimento escolaridade classe idade homem i.regiao [pweight=Q187]

margins, dydx(conhecimento escolaridade)

* dimensionalidade da escala por an�lise fatorial

factor resp_de lula_de alck_de helo_de pt_de psdb_de pmdb_de [aweight=Q187] if loc_resp==1, factor(1)

factor resp_de lula_de alck_de helo_de pt_de psdb_de pmdb_de [aweight=Q187] if todosreq==0, factor(1)

factor resp_de lula_de alck_de helo_de pt_de psdb_de pmdb_de [aweight=Q187] if todosreq==1, factor(1)

factor resp_de lula_de alck_de helo_de pt_de psdb_de pmdb_de [aweight=Q187] if conhe_g==0, factor(1)

factor resp_de lula_de alck_de helo_de pt_de psdb_de pmdb_de [aweight=Q187] if conhe_g==1, factor(1)


* intera��o da escala original com todosreq

probit voto resp_de avgov gostapt gostapsdb escolaridade classe idade homem i.regiao [pweight=Q187]

probit voto c.resp_de##c.todosreq avgov gostapt gostapsdb escolaridade classe idade homem i.regiao [pweight=Q187]

probit voto c.resp_de01##c.todosreq avgov gostapt gostapsdb escolaridade classe idade homem i.regiao [pweight=Q187]

margins, dydx(resp_de01) at (todosreq=(0(1)1))
